DMOJ 웹 사이트 설치
이 섹션에서는 DMOJ 웹 사이트 설치 메뉴얼을 알려드립니다.
설치 필요 조건
DMOJ 웹사이트를 설치하려면 아래의 환경이 필요합니다.
- 운영체제: Linux (우분투 등)
- 필수 소프트웨어: Docker 및 Docker Compose
Docker와 Docker Compose가 설치되지 않았다면, 아래 링크에서 설치 방법을 확인하세요.
OJ Docker
설치는 리눅스 환경을 기본으로 합니다.
파일 다운로드
설치가 완료되면 자신이 원하는 경로에 파일을 받습니다.
$ git clone --recursive https://github.com/jxxn92/oj_docker.git
$ cd oj_docker
아래 같은 파일들이 존재합니다.
📦oj_docker
┣ 📂.git
┣ 📂oj
┣ 📜.gitmodules
┣ 📜README.md
┣ 📜config.js
┣ 📜local_settings.py
┗ 📜uwsgi.ini
디렉토리를 이동합니다.
$ cd oj
설정 방법
oj
디렉토리로 이동하면 수정해야 하는 파일들이 존재합니다.
📦oj
┣ 📂base
┣ 📂bridged
┣ 📂celery
┣ 📂environment
┃ ┣ 📜mysql-admin.env
┃ ┣ 📜mysql.env
┃ ┗ 📜site.env
┣ 📂mathoid
┣ 📂media
┣ 📂nginx
┃ ┗ 📂conf.d
┃ ┃ ┗ 📜nginx.conf
┣ 📂pdfoid
┣ 📂problems
┣ 📂repo
┣ 📂site
┣ 📂texoid
┣ 📂wsevent
┗ 📜docker-compose.yml
환경 변수 설정
아래 파일들의 <...>
부분을 수정해야 합니다.
mysql-admin.env
데이터베이스의 루트 비밀번호를 지정합니다.
MYSQL_ROOT_PASSWORD=<password>
mysql.env
데이터베이스와 유저 정보는 고정이며, <password>
부분만 수정합니다.
MYSQL_DATABASE=dmoj
MYSQL_USER=dmoj
MYSQL_PASSWORD=<password>
site.env
사이트의 도메인 주소를 <host>
칸에 적고, SECRET_KEY
를 생성하여 입력합니다.
HOST=<host>
DEBUG=0
SECRET_KEY=<secret key>
nginx.conf
<접속주소>
부분에 자신의 도메인 주소를 입력합니다.
listen 80;
listen [::]:80;
server_name <접속주소>;
초기 설정
현재 경로가 oj
인지 확인한 후 초기 설정을 진행합니다.
$ pwd
디렉토리가 oj
에 위치해야 합니다.
예) /home/user/docker/oj_docker/oj
설정 파일과 기본 폴더를 생성 및 초기화합니다.
$ ./scripts/initialize
media
폴더와 problems
폴더가 생성됩니다.